package com.wjm.list;

import java.util.Deque;
import java.util.LinkedList;

/**
 * Data:2022年07月06日
 * Author:wjm
 * Content: 栈 和  LinkedList实现类
 *
 *  重点是要学List下的LinkedList实现类和ArrayList实现类
 *
 *  栈：栈其实是一个特殊的双端队列
 *  LinkedList其实也是栈的实现类
 *  栈遵循先进后出（FLIO First Input Last Output ）的原则
 *
 *  栈的方法
 *           push() 入栈（压栈）
 *
 *
 *  LinkedList实现类
 *                 getFirst()方法 获取第一个元素
 *                 getFirst()方法 获取第一个元素
 *
 */
public class StackDemo {
    public static void main(String[] args) {
        //创建一个栈对象
        Deque<Integer> stack = new LinkedList<>();

        //入栈（压栈）
        stack.push(1);
        stack.push(2);
        stack.push(3);
        System.out.println(stack);
        System.out.println("------------------");
        //出栈（弹栈）
        Integer a = stack.pop();
        Integer b = stack.pop();
        System.out.println(a);
        System.out.println(b);
        System.out.println(stack);
    }
}
